<?php

class FrmReporte extends TPage {
//<editor-fold defaultstate="collapsed" desc="Constantes">
  const SESION_DATOS = "arr";
  //funciones pagina
  const FUNCION_VER = "Ver";
  const FUNCION_GENERAR = "Generar";

//</editor-fold>

//<editor-fold defaultstate="collapsed" desc="Metodos Privados">
  /**
   * obtiene los registros desde la base de datos
   * @author VSR, 11/11/2011
   */
  private function obtenerDatos(){
    try {
      // se deja estructura
    } catch (Exception $e) {
      throw new Exception($e->getMessage());
    }
  }

  /**
   * actualiza los controles de la pagina segun los datos obtenidos
   * @author VSR, 11/11/2011
   */
  private function actualizaInterfaz(){
    try {
      //se deja estructura
    } catch (Exception $e) {
      throw new Exception($e->getMessage());
    }
  }

  /**
   * inicializa algunos controles cuando se carga por primera vez la pagina
   * @param <type> $isPostBack
   * @author VSR, 11/11/2011
   */
  private function inicializaControles($isPostBack){
    try {
      $idEmpresa = Utilidades::obtenerIdEmpresaActiva();

      //-- inicializacion de controles que dependen del postBack --
      if(!$isPostBack){
        //colocar controles
      }
      $this->btnFiltrar->Attributes->Add("onclick", "return(REP_ValidarFormulario())");
      $this->txtIdEmpresa->Value = $idEmpresa;

      //verifica los permisos sobre los controles
      $this->verificarPermisos();

    } catch (Exception $e) {
      throw new Exception($e->getMessage());
    }
  }

  /**
   * verifica los permisos sobre los controles
   * @author VSR, 01/01/2011
   */
  private function verificarPermisos(){
    $paginaActual = Utilidades::obtenerNombrePaginaActual($this);
    $this->pnlContenido->Visible = Utilidades::tienePermiso($paginaActual, self::FUNCION_VER);
    $this->hBotonFiltrar->Visible = Utilidades::tienePermiso($paginaActual, self::FUNCION_GENERAR);
    if(!$this->pnlContenido->Visible) {
      $this->pnlMensajeAcceso->Visible = true;
      Utilidades::setPanelMensajeUsuario($this->pnlMensajeAcceso, "No tiene permiso para ver esta p&aacute;gina", "50%", Utilidades::ESTILO_MENSAJE_ERROR);
    }
  }

  /**
   * muestra mensaje de error en pantalla
   * @param <type> $esMensajeError
   * @param <type> $texto
   * @author VSR, 16/04/2012
   */
  private function mostrarMensaje($esMensajeError, $texto) {
    $textoMensaje = "";
    $esMensajeErrorSesion = Utilidades::obtenerSessionPorNombre(WfReporte::NOMBRE_ENTIDAD."EsMensajeError");
    $textoSesion = Utilidades::obtenerSessionPorNombre(WfReporte::NOMBRE_ENTIDAD."TextoMensaje");
    $baseUrl = $this->Page->Theme->BaseUrl;
    $estiloMensaje = Utilidades::ESTILO_MENSAJE_EXITO;

    $esMensajeError = (!Utilidades::isNullOrEmpty($esMensajeError)) ? $esMensajeError : $esMensajeErrorSesion;
    $texto = (!Utilidades::isNullOrEmpty($texto)) ? $texto : $textoSesion;
    $this->pnlMensajeUsuario->Visible = true;

    if(!Utilidades::isNullOrEmpty($texto)){
      if($esMensajeError == "1") {
        $textoMensaje = "Se produjo el siguiente error y no se pudo realizar la acci&oacute;n:<br />".$texto;
        $estiloMensaje = Utilidades::ESTILO_MENSAJE_ERROR;
      } else {
        $textoMensaje = $texto;
        $estiloMensaje = Utilidades::ESTILO_MENSAJE_ADVERTENCIA;
      }
    }
    Utilidades::grabarSessionPorNombre(WfReporte::NOMBRE_ENTIDAD."EsMensajeError","");
    Utilidades::grabarSessionPorNombre(WfReporte::NOMBRE_ENTIDAD."TextoMensaje","");
    Utilidades::setPanelMensajeUsuarioConBotonCerrar($this->pnlMensajeUsuario, $textoMensaje, "50%", $estiloMensaje, $baseUrl);
  }

//</editor-fold>

//<editor-fold defaultstate="collapsed" desc="Eventos Controles">
  public function onLoad($param) {
    parent::onLoad($param);
    $this->inicializaControles($this->IsPostBack);
    $this->mostrarMensaje("", "");
    Utilidades::grabarSessionPorNombre(WfReporte::REPORTE_GENERADO, "0");
    $this->txtThemeBaseUrl->Value = $this->Page->Theme->BaseUrl;
  }


//</editor-fold>

}
?>
